#业务类：登录业务

import allure

#导入和本业务有关的页面类
from page.page_index import PageIndex
from page.page_login import PageLogin
from page.page_user import PageUser

class ServiceLogin(object):
    def __init__(self,driver,base_url):
        #初始化和本业务有关的页面类
        self.pageIndex=PageIndex(driver,base_url)
        self.pageLogin=PageLogin(driver,base_url)
        self.pageUser=PageUser(driver,base_url)


    def service_login_001(self,d):
        #完成ui1上面的和本业务有关的操作
        allure.attach("","步骤；打开首页")
        self.pageIndex.openUrl()
        allure.attach("", "步骤；点击首页中的“登录按钮”")
        self.pageIndex.click_loginButton()

        #完成ui2上面的和本业务有关的的操作
        allure.attach("", f"步骤；输入某账号：{d['zanhao']}")
        self.pageLogin.input_zanhao(d["zanhao"])
        self.pageLogin.input_pwd(d["pwd"])
        self.pageLogin.click_loginButton()

        #完成Ui3上面的和本业务有关的操作
        siji=self.pageUser.getNicenText() #"nswe，欢迎光临"
        imgName=self.pageUser.savePng3("登录",d["key"]) #"登录_K001_20250703104501"
        allure.attach(open(f'./screen/{imgName}.png', 'rb').read(), "本次截图",allure.attachment_type.PNG)

        return siji==d["yuqi"]


    def service_login_002(self,d):
        #完成ui1上面的和本业务有关的操作
        self.pageIndex.openUrl()
        self.pageIndex.click_loginButton()

        #完成ui2上面的和本业务有关的的操作
        self.pageLogin.input_zanhao(d["zanhao"])
        self.pageLogin.input_pwd(d["pwd"])
        self.pageLogin.click_loginButton()

        siji=self.pageLogin.getErrorTipText() #"账号或密码错误"
        yuqi=d["yuqi"] #"错误"
        return yuqi in siji


    def service_login_003(self,d):
        #完成ui1上面的和本业务有关的操作
        self.pageIndex.openUrl()
        self.pageIndex.click_loginButton()

        #完成ui2上面的和本业务有关的的操作
        self.pageLogin.input_zanhao(d["zanhao"])
        self.pageLogin.input_pwd(d["pwd"])
        self.pageLogin.click_loginButton()

        siji=self.pageLogin.getZanhaoEleAttrClass()#"input_text   invalid-text"
        yuqi=d["yuqi"]#"invalid-text"
        return yuqi in siji

    def service_login_004(self,d):
        #完成ui1上面的和本业务有关的操作
        self.pageIndex.openUrl()
        self.pageIndex.click_loginButton()

        #完成ui2上面的和本业务有关的的操作
        self.pageLogin.input_zanhao(d["zanhao"])
        self.pageLogin.input_pwd(d["pwd"])
        self.pageLogin.click_loginButton()

        siji=self.pageLogin.getPwdEleAttrClass() #"input_text     invalid-text"
        yuqi=d["yuqi"] #"invalid-text"
        return  yuqi in siji

